﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public abstract partial class Isik : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IIsik {
        
        private System.Int64? @__objektID;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt> @__kontaktid = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt>();
        
        private string @__kood;
        
        private string @__koosnimi;
        
        private string @__nimi;
        
        private System.Int64? @__seisundKL;
        
        private System.Int64? @__versID;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohustis> @__kohustised = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohustis>();
        
        private System.DateTime? @__algusKP;
        
        private string @__alustaja;
        
        private System.DateTime? @__loppKP;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKonto> @__kontod = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKonto>();
        
        private System.Int64? @__menetlusSubjektiLiikKL;
        
        private string @__muudeRiikideKoodid;
        
        private System.Collections.Generic.List<System.Int64?> @__tegevusalaKL = new System.Collections.Generic.List<System.Int64?>();
        
        private System.DateTime? @__verAlgusKP;
        
        private System.DateTime? @__verLoppKP;
        
        private System.DateTime? @__koostamiseKP;
        
        private System.Boolean? @__ainultPohiandmed;
        
        private System.DateTime? @__sisestamiseKP;
        
        private string @__sisestaja;
        
        private System.DateTime? @__muutmiseKP;
        
        private string @__muutja;
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__markused;
        
        private string @__klientsysteemiID;
        
        private System.DateTime? @__karistusteYlevaatamiseKP;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> @__hoiatused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus>();
        
        private string @__eelnevadKoosnimedCSV;
        
        private System.Boolean? @__onValideeritudAktuaalneVersioon;
        
        public Isik() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Isik(
                    System.Int64? @objektID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt> @kontaktid, 
                    string @kood, 
                    string @koosnimi, 
                    string @nimi, 
                    System.Int64? @seisundKL, 
                    System.Int64? @versID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohustis> @kohustised, 
                    System.DateTime? @algusKP, 
                    string @alustaja, 
                    System.DateTime? @loppKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKonto> @kontod, 
                    System.Int64? @menetlusSubjektiLiikKL, 
                    string @muudeRiikideKoodid, 
                    System.Collections.Generic.List<System.Int64?> @tegevusalaKL, 
                    System.DateTime? @verAlgusKP, 
                    System.DateTime? @verLoppKP, 
                    System.DateTime? @koostamiseKP, 
                    System.Boolean? @ainultPohiandmed, 
                    System.DateTime? @sisestamiseKP, 
                    string @sisestaja, 
                    System.DateTime? @muutmiseKP, 
                    string @muutja, 
                    System.DateTime? @sulgemiseKP, 
                    string @markused, 
                    string @klientsysteemiID, 
                    System.DateTime? @karistusteYlevaatamiseKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> @hoiatused, 
                    string @eelnevadKoosnimedCSV, 
                    System.Boolean? @onValideeritudAktuaalneVersioon) {
            this.@__objektID = @objektID;
            this.@__kontaktid = @kontaktid;
            this.@__kood = @kood;
            this.@__koosnimi = @koosnimi;
            this.@__nimi = @nimi;
            this.@__seisundKL = @seisundKL;
            this.@__versID = @versID;
            this.@__kohustised = @kohustised;
            this.@__algusKP = @algusKP;
            this.@__alustaja = @alustaja;
            this.@__loppKP = @loppKP;
            this.@__kontod = @kontod;
            this.@__menetlusSubjektiLiikKL = @menetlusSubjektiLiikKL;
            this.@__muudeRiikideKoodid = @muudeRiikideKoodid;
            this.@__tegevusalaKL = @tegevusalaKL;
            this.@__verAlgusKP = @verAlgusKP;
            this.@__verLoppKP = @verLoppKP;
            this.@__koostamiseKP = @koostamiseKP;
            this.@__ainultPohiandmed = @ainultPohiandmed;
            this.@__sisestamiseKP = @sisestamiseKP;
            this.@__sisestaja = @sisestaja;
            this.@__muutmiseKP = @muutmiseKP;
            this.@__muutja = @muutja;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__markused = @markused;
            this.@__klientsysteemiID = @klientsysteemiID;
            this.@__karistusteYlevaatamiseKP = @karistusteYlevaatamiseKP;
            this.@__hoiatused = @hoiatused;
            this.@__eelnevadKoosnimedCSV = @eelnevadKoosnimedCSV;
            this.@__onValideeritudAktuaalneVersioon = @onValideeritudAktuaalneVersioon;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Isik(IIsik @isik) {
            this.@__objektID = @isik.ObjektID;
            this.@__kontaktid = @isik.Kontaktid;
            this.@__kood = @isik.Kood;
            this.@__koosnimi = @isik.Koosnimi;
            this.@__nimi = @isik.Nimi;
            this.@__seisundKL = @isik.SeisundKL;
            this.@__versID = @isik.VersID;
            this.@__kohustised = @isik.Kohustised;
            this.@__algusKP = @isik.AlgusKP;
            this.@__alustaja = @isik.Alustaja;
            this.@__loppKP = @isik.LoppKP;
            this.@__kontod = @isik.Kontod;
            this.@__menetlusSubjektiLiikKL = @isik.MenetlusSubjektiLiikKL;
            this.@__muudeRiikideKoodid = @isik.MuudeRiikideKoodid;
            this.@__tegevusalaKL = @isik.TegevusalaKL;
            this.@__verAlgusKP = @isik.VerAlgusKP;
            this.@__verLoppKP = @isik.VerLoppKP;
            this.@__koostamiseKP = @isik.KoostamiseKP;
            this.@__ainultPohiandmed = @isik.AinultPohiandmed;
            this.@__sisestamiseKP = @isik.SisestamiseKP;
            this.@__sisestaja = @isik.Sisestaja;
            this.@__muutmiseKP = @isik.MuutmiseKP;
            this.@__muutja = @isik.Muutja;
            this.@__sulgemiseKP = @isik.SulgemiseKP;
            this.@__markused = @isik.Markused;
            this.@__klientsysteemiID = @isik.KlientsysteemiID;
            this.@__karistusteYlevaatamiseKP = @isik.KaristusteYlevaatamiseKP;
            this.@__hoiatused = @isik.Hoiatused;
            this.@__eelnevadKoosnimedCSV = @isik.EelnevadKoosnimedCSV;
            this.@__onValideeritudAktuaalneVersioon = @isik.OnValideeritudAktuaalneVersioon;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt> Kontaktid {
            get {
                return this.@__kontaktid;
            }
            set {
                this.@__kontaktid = value;
            }
        }
        
        public virtual string Kood {
            get {
                return this.@__kood;
            }
            set {
                this.@__kood = value;
            }
        }
        
        public virtual string Koosnimi {
            get {
                return this.@__koosnimi;
            }
            set {
                this.@__koosnimi = value;
            }
        }
        
        public virtual string Nimi {
            get {
                return this.@__nimi;
            }
            set {
                this.@__nimi = value;
            }
        }
        
        public virtual System.Int64? SeisundKL {
            get {
                return this.@__seisundKL;
            }
            set {
                this.@__seisundKL = value;
            }
        }
        
        public virtual System.Int64? VersID {
            get {
                return this.@__versID;
            }
            set {
                this.@__versID = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohustis> Kohustised {
            get {
                return this.@__kohustised;
            }
            set {
                this.@__kohustised = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual string Alustaja {
            get {
                return this.@__alustaja;
            }
            set {
                this.@__alustaja = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKonto> Kontod {
            get {
                return this.@__kontod;
            }
            set {
                this.@__kontod = value;
            }
        }
        
        public virtual System.Int64? MenetlusSubjektiLiikKL {
            get {
                return this.@__menetlusSubjektiLiikKL;
            }
            set {
                this.@__menetlusSubjektiLiikKL = value;
            }
        }
        
        public virtual string MuudeRiikideKoodid {
            get {
                return this.@__muudeRiikideKoodid;
            }
            set {
                this.@__muudeRiikideKoodid = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.Int64?> TegevusalaKL {
            get {
                return this.@__tegevusalaKL;
            }
            set {
                this.@__tegevusalaKL = value;
            }
        }
        
        public virtual System.DateTime? VerAlgusKP {
            get {
                return this.@__verAlgusKP;
            }
            set {
                this.@__verAlgusKP = value;
            }
        }
        
        public virtual System.DateTime? VerLoppKP {
            get {
                return this.@__verLoppKP;
            }
            set {
                this.@__verLoppKP = value;
            }
        }
        
        public virtual System.DateTime? KoostamiseKP {
            get {
                return this.@__koostamiseKP;
            }
            set {
                this.@__koostamiseKP = value;
            }
        }
        
        public virtual System.Boolean? AinultPohiandmed {
            get {
                return this.@__ainultPohiandmed;
            }
            set {
                this.@__ainultPohiandmed = value;
            }
        }
        
        public virtual System.DateTime? SisestamiseKP {
            get {
                return this.@__sisestamiseKP;
            }
            set {
                this.@__sisestamiseKP = value;
            }
        }
        
        public virtual string Sisestaja {
            get {
                return this.@__sisestaja;
            }
            set {
                this.@__sisestaja = value;
            }
        }
        
        public virtual System.DateTime? MuutmiseKP {
            get {
                return this.@__muutmiseKP;
            }
            set {
                this.@__muutmiseKP = value;
            }
        }
        
        public virtual string Muutja {
            get {
                return this.@__muutja;
            }
            set {
                this.@__muutja = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string Markused {
            get {
                return this.@__markused;
            }
            set {
                this.@__markused = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
        
        public virtual System.DateTime? KaristusteYlevaatamiseKP {
            get {
                return this.@__karistusteYlevaatamiseKP;
            }
            set {
                this.@__karistusteYlevaatamiseKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> Hoiatused {
            get {
                return this.@__hoiatused;
            }
            set {
                this.@__hoiatused = value;
            }
        }
        
        public virtual string EelnevadKoosnimedCSV {
            get {
                return this.@__eelnevadKoosnimedCSV;
            }
            set {
                this.@__eelnevadKoosnimedCSV = value;
            }
        }
        
        public virtual System.Boolean? OnValideeritudAktuaalneVersioon {
            get {
                return this.@__onValideeritudAktuaalneVersioon;
            }
            set {
                this.@__onValideeritudAktuaalneVersioon = value;
            }
        }
    }
}
